<?php

namespace system\Model;

class Migracao extends SystemAppModel {

    public $database = 'uniweb_antigo';

    public function listaBeneficiario(){
        $rs = $this->Execute("SELECT (SELECT DISTINCT F_OBTEM_CARTEIRA_BENF(COT.COD_BENEFICIARIO, COT.COD_UNIMED, COT.COD_EMPRESA, COT.COD_FAMILIA, COT.COD_CONTRATO) CARTEIRA
FROM SABIUS.CONTRATOS_BENEFICIARIO COT
WHERE COT.COD_BENEFICIARIO IS NOT NULL
AND COT.COD_DEPENDENCIA = 'T'
AND COT.COD_PARENTESCO = 0
AND USU.CODIGO = COT.COD_BENEFICIARIO
AND ROWNUM = 1) CARTEIRA, USU.CODIGO, USU.SENHA, BEN.NOME_COMPLETO NOME FROM USUARIOS USU
LEFT JOIN SABIUS.BENEFICIARIO BEN ON USU.CODIGO = BEN.COD_BENEFICIARIO
WHERE
USU.TIPO_USUARIO_ID = 46
AND USU.CODIGO IS NOT NULL");

//        $rs = $this->select('u.usuario,u.senha,u.codigo')->from('usuarios u')->where('u.tipo_usuario_id = 46')->executeQuery();
        return $rs;
    }

    public function listaCarteiraBenefiAtual($codigo){
        $this->debug(true);
//        $subQuery = $this->select("max(LPAD(cb.COD_CARTEIRA||cb.DV_CARTEIRA, 13,'0')) carteira")->from("SABIUS.CARTEIRA_BENEFICIARIO cb")->where("cb.COD_BENEFICIARIO = b.COD_BENEFICIARIO")->getQuery();

//        $rs = $this->select("b.NOME_COMPLETO NOME,(".$subQuery.") carteira")->from("SABIUS.BENEFICIARIO b")->where('b.COD_BENEFICIARIO = :cb')->execPrepQuery(['cb'=>$codigo]);
        exit;
        return $rs;
    }

    public function geral(){
        $dados['DADOS']['PRE'] = $this->prestador();
        $dados['DADOS']['COO'] = $this->cooperado();
        $dados['DADOS']['EMP'] = $this->empresa();
        return $dados;
    }

    private function prestador(){
        $rs = $this->select("u.USUARIO,u.SENHA,upper(du.nome) nome")->from("usuarios u")->join(['inner'=>['dados_usuarios du'=>'du.usuario_id= u.id']])->where('u.tipo_usuario_id = 3882')->execPrepQuery();
        return $rs;
    }

    private function cooperado(){
        $rs = $this->select("u.USUARIO,u.SENHA,upper(du.nome) nome")->from("usuarios u")->join(['inner'=>['dados_usuarios du'=>'du.usuario_id= u.id']])->where('u.tipo_usuario_id = 9')->execPrepQuery();
        return $rs;
    }

    private function empresa(){
        $rs = $this->select("u.USUARIO,u.SENHA,upper(du.nome) nome")->from("usuarios u")->join(['inner'=>['dados_usuarios du'=>'du.usuario_id= u.id']])->where('u.tipo_usuario_id = 127')->execPrepQuery();
        return $rs;
    }
}